交换机工作原理和生成树协议


[toc]

以太网交换机自学习和转发帧的流程

以太网交换机,也称为交换式集线器,**是简化(典型)的网桥**,一般用于互连相同类型的LAN(例如:以太网/以太网的互连)。交换机和网桥的不同在于:交换机端口数较多;交换机的数据传输效率较高。

透明网桥:自学习算法(逆向学习法)的网桥

以太网交换机在数据链路层,包括物理层

以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧

以太网交换机是一种即插即用设备,刚上电启动时其内部的帧的交换表是空的。随着网络中个主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表

由于MAC地址与接口的对应关系不是永久性的,所以每条记录都有自己的有效时间,到期自动删除

交换机对于一个port N上incoming frame, 学习其source MAC X, 生成MAC Address Table,如下:

MAC X <———> Port N

这样它就会生成MAC地址 和 Port 的映射表,如果收到一个Frame ,就会查询Frame的 Destination MAC 与MAC Address Table 进行匹配,匹配到了就从对应的Port 发送出去。

如果没有匹配到,就认为是 unknown Unicast 或 broadcast,没有办法只好把它从所有Port( 除了接收到Frame的接口)发送出去

以太网交换机的生成树协议STP

单点故障:在网络中,任意一个节点产生故障,将导致整个网络无法通讯

为了提高以太网的可靠性,我们通过添加冗余链路来提高以太网的可靠性,但是,冗余链路带来另一个问题——形成网络环路

但是网络环路带来以下问题:

  1. 广播风暴:大量消耗网络资源,使得网络无法正常转发其他数据帧
  2. 主机收到重复的广播帧:大量消耗主机的资源
  3. 交换机的帧交换表震荡(漂移)

为此,以太网交换机使用生成树协议STP(Spanning Tree Protocol),增加冗余链路的网络可靠性的同时又避免网络环路带来的各种问题

  1. 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的链路,其逻辑拓朴结构必须是树形
  2. 最终生成树的树型拓扑结构要确保联通整个网络
  3. 当首次连接交换机或网络物理拓扑结构发生变化时,交换都将进行生成树的重新计算
**STP协议通过在逻辑上将特定的端口进行阻塞,从而解决网络中存在的二层环路问题同时使网络在二层物理链路中存在冗余**

STP的生成

  1. 每个广播域中选举一个根桥(Root)
  2. 每个非根桥选举一个根端口(Root Port)
  3. 每一段链路选举一个指定端口(Designated Port)
  4. 非指定端口会被堵塞(Blocking)

选举根桥:具有最低桥ID的交换机就是根桥,BID相同时,选择MAC地址小的作为根桥

选举根端口:选举了根桥后,其他的交换机就成为了非根桥。根桥上的接口都是指定端口,会转发数据包。每台非根桥要选举一条到根桥的根路径。根端口通过计算到根桥的最短路径选举得到。

链路带宽 新标准
10Mbps 100
100Mbps 19
1Gbps 4
10Gbps 2
>10Gbps 1

选举指定端口:一般而言,交换机端口是否配置为指定端口由 BID 决定。当两个非根端口的交换机端口连接到同一个 LAN 网段时,会发生竞争端口角色的情况。这两台交换机会交换 BPDU 帧,以确定哪个交换机端口是指定端口,哪一个是非指定端口